/**
 * 课程状态枚举
 * @description 定义课程的各种状态
 */
export enum CourseStatusEnum {
  /** 正常 */
  ACTIVE = 1,
  /** 已暂停 */
  SUSPENDED = 2,
  /** 已删除 */
  DELETED = 3
}

/**
 * 课程状态显示文本映射
 * @description 用于界面显示的状态文本
 */
export const CourseStatusText: Record<CourseStatusEnum, string> = {
  [CourseStatusEnum.ACTIVE]: '正常',
  [CourseStatusEnum.SUSPENDED]: '已暂停',
  [CourseStatusEnum.DELETED]: '已删除'
};

/**
 * 课程状态颜色映射
 * @description 用于界面显示的状态颜色
 */
export const CourseStatusColor: Record<CourseStatusEnum, string> = {
  [CourseStatusEnum.ACTIVE]: 'success',
  [CourseStatusEnum.SUSPENDED]: 'warning',
  [CourseStatusEnum.DELETED]: 'error'
};

/**
 * 课程分类状态枚举
 * @description 定义课程分类的各种状态
 */
export enum CourseCategoryStatusEnum {
  /** 正常 */
  ACTIVE = 1,
  /** 禁用 */
  DISABLED = 2,
  /** 已删除 */
  DELETED = 3
}

/**
 * 课程分类状态显示文本映射
 * @description 用于界面显示的分类状态文本
 */
export const CourseCategoryStatusText: Record<CourseCategoryStatusEnum, string> = {
  [CourseCategoryStatusEnum.ACTIVE]: '正常',
  [CourseCategoryStatusEnum.DISABLED]: '禁用',
  [CourseCategoryStatusEnum.DELETED]: '已删除'
};

/**
 * 课程分类状态颜色映射
 * @description 用于界面显示的分类状态颜色
 */
export const CourseCategoryStatusColor: Record<CourseCategoryStatusEnum, string> = {
  [CourseCategoryStatusEnum.ACTIVE]: 'success',
  [CourseCategoryStatusEnum.DISABLED]: 'warning',
  [CourseCategoryStatusEnum.DELETED]: 'error'
};

/**
 * 课程难度等级枚举
 * @description 课程难度等级选项
 */
export enum CourseLevelEnum {
  /** 初级 */
  BEGINNER = 'beginner',
  /** 中级 */
  INTERMEDIATE = 'intermediate',
  /** 高级 */
  ADVANCED = 'advanced'
}

/**
 * 课程难度等级显示文本映射
 * @description 用于界面显示的难度等级文本
 */
export const CourseLevelText: Record<CourseLevelEnum, string> = {
  [CourseLevelEnum.BEGINNER]: '初级',
  [CourseLevelEnum.INTERMEDIATE]: '中级',
  [CourseLevelEnum.ADVANCED]: '高级'
};

/**
 * 课程难度等级颜色映射
 * @description 用于界面显示的难度等级颜色
 */
export const CourseLevelColor: Record<CourseLevelEnum, string> = {
  [CourseLevelEnum.BEGINNER]: 'green',
  [CourseLevelEnum.INTERMEDIATE]: 'blue',
  [CourseLevelEnum.ADVANCED]: 'red'
};

/**
 * 课程资料类型枚举
 * @description 课程资料的类型
 */
export enum CourseMaterialTypeEnum {
  /** PDF文档 */
  PDF = 'pdf',
  /** 视频 */
  VIDEO = 'video',
  /** 音频 */
  AUDIO = 'audio',
  /** 文档 */
  DOCUMENT = 'document',
  /** 链接 */
  LINK = 'link'
}

/**
 * 课程资料类型显示文本映射
 * @description 用于界面显示的资料类型文本
 */
export const CourseMaterialTypeText: Record<CourseMaterialTypeEnum, string> = {
  [CourseMaterialTypeEnum.PDF]: 'PDF文档',
  [CourseMaterialTypeEnum.VIDEO]: '视频',
  [CourseMaterialTypeEnum.AUDIO]: '音频',
  [CourseMaterialTypeEnum.DOCUMENT]: '文档',
  [CourseMaterialTypeEnum.LINK]: '链接'
};

/**
 * 课程操作类型枚举
 * @description 对课程可执行的操作类型
 */
export enum CourseActionEnum {
  /** 查看详情 */
  VIEW = 'view',
  /** 编辑课程 */
  EDIT = 'edit',
  /** 删除课程 */
  DELETE = 'delete',
  /** 复制课程 */
  COPY = 'copy',
  /** 暂停课程 */
  SUSPEND = 'suspend',
  /** 激活课程 */
  ACTIVATE = 'activate',
  /** 查看课表 */
  VIEW_SCHEDULE = 'view_schedule',
  /** 管理分类 */
  MANAGE_CATEGORIES = 'manage_categories',
  /** 导出课程 */
  EXPORT = 'export'
}

/**
 * 课程分类操作类型枚举
 * @description 对课程分类可执行的操作类型
 */
export enum CourseCategoryActionEnum {
  /** 查看详情 */
  VIEW = 'view',
  /** 编辑分类 */
  EDIT = 'edit',
  /** 删除分类 */
  DELETE = 'delete',
  /** 添加子分类 */
  ADD_CHILD = 'add_child',
  /** 移动分类 */
  MOVE = 'move',
  /** 启用分类 */
  ENABLE = 'enable',
  /** 禁用分类 */
  DISABLE = 'disable',
  /** 查看课程 */
  VIEW_COURSES = 'view_courses'
}

/**
 * 预设课程分类类型
 * @description 系统预设的课程分类类型
 */
export enum PresetCourseCategoryEnum {
  /** 小学课程 */
  PRIMARY_SCHOOL = 'primary_school',
  /** 小学社团课程 */
  PRIMARY_CLUB = 'primary_club',
  /** 少年宫课程 */
  YOUTH_PALACE = 'youth_palace',
  /** 培训机构课程 */
  TRAINING_INSTITUTION = 'training_institution',
  /** 家庭辅导课程 */
  HOME_TUTORING = 'home_tutoring',
  /** 课外社团课程 */
  EXTRACURRICULAR_CLUB = 'extracurricular_club'
}

/**
 * 预设课程分类显示文本映射
 * @description 用于界面显示的预设分类文本
 */
export const PresetCourseCategoryText: Record<PresetCourseCategoryEnum, string> = {
  [PresetCourseCategoryEnum.PRIMARY_SCHOOL]: '小学课程',
  [PresetCourseCategoryEnum.PRIMARY_CLUB]: '小学社团课程',
  [PresetCourseCategoryEnum.YOUTH_PALACE]: '少年宫课程',
  [PresetCourseCategoryEnum.TRAINING_INSTITUTION]: '培训机构课程',
  [PresetCourseCategoryEnum.HOME_TUTORING]: '家庭辅导课程',
  [PresetCourseCategoryEnum.EXTRACURRICULAR_CLUB]: '课外社团课程'
};